package br.fatec.ppi.projeto;

import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import trabalhoppi.entities.TipoDeEndereco;
import trabalhoppi.entities.UF;

/**
 * @author Vânia Angelotti RA: 1430431112040
 */
@Entity
public class Endereco {
    
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    private int idEndereco;
    private String endereco;
    private String nr;
    private String complemento;
    private String bairro;
    private String cep;
    private String cidade;
    private UF estado;
    private String caixaPostal;
    private String email;
    private TipoDeEndereco tipoEndereco;
    
    @ManyToOne(optional=true, cascade= CascadeType.PERSIST)
    private Telefone telefone;
  
    @ManyToMany(mappedBy = "enderecos", cascade= CascadeType.PERSIST)
    private List<Pessoa> pessoas;
    
    public Endereco(){
        this.pessoas = new ArrayList();
    }
    
    public int getIdEndereco() {
        return idEndereco;
    }

    public void setIdEndereco(int idEndereco) {
        this.idEndereco = idEndereco;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getNr() {
        return nr;
    }

    public void setNr(String nr) {
        this.nr = nr;
    }

    public String getComplemento() {
        return complemento;
    }

    public void setComplemento(String complemento) {
        this.complemento = complemento;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public UF getEstado() {
        return estado;
    }

    public void setEstado(UF estado) {
        this.estado = estado;
    }

    public String getCaixaPostal() {
        return caixaPostal;
    }

    public void setCaixaPostal(String caixaPostal) {
        this.caixaPostal = caixaPostal;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public TipoDeEndereco getTipoEndereco() {
        return tipoEndereco;
    }

    public void setTipoEndereco(TipoDeEndereco tipoEndereco) {
        this.tipoEndereco = tipoEndereco;
    }

    public Telefone getTelefone() {
        return telefone;
    }

    public void setTelefone(Telefone telefone) {
        this.telefone = telefone;
    }
}